#!/bin/sh #I like libopus more than libvorbis but file size matters more audiobitrate=128 startTime=00:00:00 for file in *.m4a; do filename="${file%%.*}" echo "$filename" metadata_list="[AlbumArtist] [artist] [composer] [Comment] [GENRE] [URLauthor] [year]" for M in $metadata_list; do #echo "$M" TARGET_FILE="${filename} $M.txt" && if [ -f "$TARGET_FILE" ]; then echo "$TARGET_FILE exists" && value=`cat "$TARGET_FILE"`; else echo "$TARGET_FILE does not exist" && `touch "$TARGET_FILE"`; fi meta_trim=${M%]*} && meta_trim=${meta_trim#[*} declare ${meta_trim}="$value" echo "-- $meta_trim: $value" done ffmpeg -y -i "${filename}.m4a" -ss ${startTime} -map 0 -c:v copy -c:a libopus -b:a ${audiobitrate}k -metadata title="$filename" -metadata composer="$composer" -metadata artist="$artist" -metadata author="$composer" -metadata album_artist="$AlbumArtist" -metadata genre="$GENRE" -metadata comment="$Comment" -metadata author_url="$URLauthor" -metadata date="$year" "${filename}.opus" opusdec --force-wav "${filename}.opus" - | opusenc --picture "$filename.png" - "${filename} (metacodedOPUS).ogg" done